package br.com.brazillog.store.impl;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import br.com.brazillog.domain.Cliente;
import br.com.brazillog.security.error.ApplicationException;
import br.com.brazillog.store.ClienteStore;

/**
 * 
 * 
 * @author Gabriel Cardelli
 *
 */
public class ClienteStoreImpl extends HibernateDaoSupport implements ClienteStore{
	
	
	public void save(Cliente object) throws ApplicationException {
		getHibernateTemplate().save(object);
	}

	public void update(Cliente object) {
		getHibernateTemplate().update(object);
	}


	public void merge(Cliente object) {
		getHibernateTemplate().merge(object);	
	}

	public Cliente load(Object id) {
		return (Cliente) getHibernateTemplate().get(Cliente.class, (Serializable) id);
	}

	public List<Cliente> list() {
		return getSession().createCriteria(Cliente.class).list();
	}

	public List<Cliente> list(Map Params) {
		//TODO Para ser implementado
		return null;
	}

	public void delete(Object id) {
		getHibernateTemplate().delete(load(id));		
	}

}
